#include "StepMotor.h" // 引入自定义的步进电机控制库
#include "request.h"   // 引入自定义的请求处理库
#include "screen.h"    //引入屏幕库
#include "motor.h"     // 引入电机库
#include "wifi.h"      // 引入WiFi连接库

// 初始化设置
void setup()
{
  screen_setup();  // 初始化OLED屏幕
  motor_setup();   // 初始化电机
  wifi_setup();    // 初始化WiFi连接
  request_setup(); // 设置HTTP请求处理函数

  // 创建注射任务
  xTaskCreate(
    injectTask,         // 任务函数
    "InjectTask",       // 任务名称
    4096,               // 堆栈大小
    NULL,               // 参数
    1,                  // 优先级
    &injectTaskHandle   // 任务句柄
  );
  // 创建药物剩余量监测任务
  xTaskCreate(
    drugRemainTask,
    "DrugRemainTask",
    2048,
    NULL,
    1,
    NULL
  );
}

// 主循环
void loop()
{
  server.handleClient();
  screen_loop();
}